Self-contained modular manufacturing tool responsive to locally stored historical data

ABSTRACT

A system and method for using locally stored historical performance data with a self-contained modular manufacturing device having modular tools and parts configured to collectively accomplish a specific task or function. In an embodiment, the modular device includes an interface configured to communicate with a remote control system capable of control the robotic arm. The modular device also includes one or more other modules that are configured to accomplish a particular task or function. Such modules are sometimes called end-effectors and work in conjunction with each other to accomplish tasks and functions. In a self-contained modular manufacturing device, a processor disposed in the housing may be configured to control the functional tools (e.g., each end-effector) independent of the overall manufacturing control system. Further, historical data may be locally stored and retrieved to tailor the functioning of the modular device.

RELATED APPLICATION DATA

The present application is related to U.S. patent application Ser. No.14/876,508, entitled SELF-CONTAINED MODULAR MANUFACTURING TOOL filedOct. 6, 2015; is related to U.S. patent application Ser. No. 14/876,443,entitled SYSTEM AND METHOD FOR SELF-CONTAINED SELF-CALIBRATING MODULARMANUFACTURING TOOL filed Oct. 6, 2015; is related to U.S. patentapplication Ser. No. 14/876,564, entitled SYSTEM AND METHOD FORSELF-CONTAINED MODULAR MANUFACTURING DEVICE HAVING NESTED CONTROLLERSfiled Oct. 6, 2015; and is related to U.S. patent application Ser. No.14/876,603, entitled SYSTEM AND METHOD FOR SELF-CONTAINED INDEPENDENTLYCONTROLLED MODULAR MANUFACTURING TOOLS filed Oct. 6, 2015, all of theforegoing applications are incorporated herein by reference in theirentireties.

BACKGROUND

As manufacturing environments become more automated and complex,robotics and other automated machinery is becoming more and moreprevalent in all phases of manufacturing. Very specific tasks that areconventionally performed by a skilled artisan may be performed usinghighly specialized robotics having highly specialized tools and/or endeffectors. For example, drilling holes in composite sections of acontoured section of an airplane wing or car body may require a highlevel of precision with respect to applying torque to a motor for movingthe end effector around a contoured wing surface. A further example isthe need to tightly control the actuation force applied to the wingsection by the drill bit in order to avoid compromising the wing itself.

In conventional manufacturing environments, various end-effectors andother tools that are used to accomplish various functions are simplycontrollable tools that are mounted to the end of a robotic arm or otherform of actuator such that a central control system controlsend-effectors according to a master logic program or state machine. Thatis, the tool itself does not contain any manner of processing abilitysuch that the tool may be deemed to be a “smart tool” capable ofdirecting its own functions in a self-contained manner. Rather,conventional systems include master programs that exhibit controlfunctionality to tools through control signal communications propagatingthrough robotic arms and actuators. In such a conventional environment,lack of localized processing and control imposes large processing speedand power requirements on the master control system.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and many of the attendant advantages of the claims will becomemore readily appreciated as the same become better understood byreference to the following detailed description, when taken inconjunction with the accompanying drawings, wherein:

FIG. 1 shows an isometric view of a set of modular tools forming aself-contained modular manufacturing device having a local processor forexecuting processing instructions independent of an overallmanufacturing control system according to an embodiment of the subjectmatter disclosed herein.

FIG. 2 shows an exploded diagram of the isometric view of FIG. 1 showingthe set of modular tools that form the self-contained modularmanufacturing device of FIG. 1 according to an embodiment of the subjectmatter disclosed herein.

FIG. 3 shows an isometric view of an overall control system set in amanufacturing environment that includes the self-contained modularmanufacturing device of FIG. 1 according to an embodiment of the subjectmatter disclosed herein.

FIG. 4 shows a block diagram of an overall control system set in amanufacturing environment that includes the self-contained modularmanufacturing device of FIG. 1 according to an embodiment of the subjectmatter disclosed herein.

FIG. 5 shows a flow diagram of a method for using the self-containedmodular manufacturing device of FIG. 1 responsive to locally storedhistorical data according to an embodiment of the subject matterdisclosed herein.

DETAILED DESCRIPTION

The following discussion is presented to enable a person skilled in theart to make and use the subject matter disclosed herein. The generalprinciples described herein may be applied to embodiments andapplications other than those detailed above without departing from thespirit and scope of the present detailed description. The presentdisclosure is not intended to be limited to the embodiments shown, butis to be accorded the widest scope consistent with the principles andfeatures disclosed or suggested herein.

The subject matter disclosed herein is directed to a system (and methodfor use thereof) of a self-contained modular manufacturing device havingmodular tools and parts configured to collectively accomplish a specifictask or function. In an embodiment, the modular device includes ahousing that has a mount configured to engage a robotic arm or otherform of maneuvering actuator (such a crane or gantry). The housing mayprovide a base by which additional modules may be mounted and coupled.The modular device also includes an interface configured to communicatewith a remote control system capable of control the robotic arm. Themodular device also includes one or more other modules that areconfigured to accomplish a particular task or function. Such modules aresometimes called end-effectors and work in conjunction with each otherto accomplish tasks and functions. In a self-contained modularmanufacturing device, a processor disposed in the housing may beconfigured to control the functional tools (e.g., each end-effector)independent of the overall manufacturing control system. Further, theself-contained modular manufacturing device may be configured tocalibrate itself with respect to other attached modules or with respectto an underlying manufactured item. Further yet, the self-containedmodular manufacturing device may be configured to store data in a memoryabout functions that have been performed as well as alter functionalitybased on past performance and other historical data.

As foreshadowed in the background, a conventional robotic manufacturingsystem may include arm and actuators to which are attached end-effectorsand other tooling. Under a master control system or master controloperator, the robot arm may move the end effector into position wherethe end effector performs the actual machining or assembly of the parts.For example, to fasten two pieces of metal together, a human operatorloads the two pieces of metal into the tooling, and, after the operatorretreats to a safe distance from the robot, the operator pushes abutton, or otherwise indicates to the robot that the robot can begin thefastening process. Then, under the control of the master control system,the end-effector drills one or more holes through the two pieces ofmetal, inserts fasteners (e.g., rivets) into the holes, and installs thefasteners. During the fastening operation, the robot may move theend-effector from hole position to hole position, or the robot may beinstalled on a device (e.g., a rail) that moves the robot from holeposition to hole position. Alternatively, the tooling may move the twopieces of metal relative to the end effector, or may be installed on adevice (e.g., a rail or Automatic Guided Vehicle (AGV)) that moves thetooling. After the two pieces of metal are fastened together, theoperator removes the fastened pieces from the tooling, and repeats theabove procedure starting with loading another two pieces of metal intothe tooling.

Alternatively, where the pieces (e.g., pieces of an airplane wing) aretoo large to be moved by a human operator, they may be moved and loadedinto the tooling with machinery (e.g., heavy equipment), or the robotmay be moved to the location of the pieces instead of the pieces beingmoved to the location of the robot.

The robot and the end effector, in a conventional system, are controlledby a master control system and often through a central ProgrammableLogic Controller (PLC). The PLC executes a software program to directlycontrol all of the operations of the robot and the end effector, and tostore information regarding the robot and end effector. For example, todrill a hole, the PLC may access and execute a drill-hole softwaresubroutine or object (or the PLC may be a state machine) that causes thePLC to generate one or more electrical analog or digital signals thatare coupled to the end effector. These signals (e.g., drill on/off,drill speed, drill extend/retract) cause the drill motor to rotate thedrill bit at a desired speed and to drill a hole. And the PLC mayreceive feedback signals (e.g., drill depth, drill speed) from feedbacksensors so that the PLC can operate the items (e.g., drill) of the endeffector in open loop or closed loop. The PLC may also receivemonitoring signals (e.g., temperature) from sensors so as to takecorrective action if there is a problem (e.g., overheating, shortcircuit).

But there are disadvantages to such a central control system. Becausethe PLC controls all operations of the robot and end effector, thesoftware program (or state machine) that the PLC executes may be long,complex, unwieldy, and difficult and time consuming to update. Forexample, suppose a small change or update needs to be made to thedrilling subroutine. A programmer may need to access, modify, recompile,debug, and reinstall the entire program just for this small change. Andthe debug may include testing the program on the entire manufacturingsystem, not just on the end effector, so that either the entiremanufacturing system is down during this software update, or a separaterobotic system or robot-system emulator needs to be purchased andmaintained just for software updates.

Furthermore, because the PLC needs to generate many analog or digitalsignals to control the end effector, the connector (e.g., “umbilicalcord”) between the PLC and the end effector may be large and complex,and, due to the number of individual connections, may be unreliable. Forexample, such a connector may have from tens to hundreds of individualconnection pins and receptacles. Moreover, because the PLC needs tocalibrate the end effector, swapping out an end effector is anything buttrivial. For example, the PLC may calibrate open-loop offsets (e.g.,previously calculated and stored drill-position offset, camera-positionoffset) based on a look-up table (LUT) that is unique to the endeffector. For example, the PLC may match a serial number of the endeffector with the proper LUT to make sure that the PLC is using thecorrect calibration offsets for that particular end effector. Therefore,when swapping out an end effector, the maintenance person may need toload the calibration data for the end effector into an LUT of the PLC.Even if it is relatively easy to load the calibration data into an LUT,this still presents an opportunity for error that may go undiscovereduntil one or more parts are machined or assembled out of specification.

In addition, because the end effector is designed as an integral unit,repairing the end effector may entail removing and shipping the entireend effector back to the equipment supplier even to diagnose a failurein, and to change, a relatively small part. To avoid down time, thismeans that the manufacturing system that is using the robotic controlsystem may need to keep one or more spare end effectors on hand to swapout a broken end effector. Because end effectors are relativelyexpensive, this adds significant cost to the manufacturer that uses therobot system under a master control system.

Furthermore, to perform any tests on the end effector (e.g., a testafter repair or after a software update), the tester must have an entirerobot system, or at least a robot-system emulator. This adds expense,and may require a large space because the robot is typically large.

Various embodiments of the inventive self-contained modularmanufacturing device address these disadvantages by providing a systemand method of handling control aspects and calibration aspects of theend-effector using a modular device having a dedicated processor forcontrolling the actions of the end-effector in a self-contained manner.In this aspect, problems associated with bulky and remote master controlsystem are eliminated. Further, the modularity of the various portionsof the overall manufacturing system is increased thereby reducingdowntime and repair costs. These and other aspects of the subject matterdisclosed herein are better understood with respect to the descriptionsof FIGS. 1-5 below.

FIG. 1 shows an isometric view of a set of modular tools forming aself-contained modular manufacturing device 100 having a local processorfor executing processing instructions independent of an overallmanufacturing control system according to an embodiment of the subjectmatter disclosed herein. The modular device 100 may include severalmodules 105-109 that are designed to interface with one or more othermodules 105-109 within the modular device 100. In this manner, the setof modules 106-109 function as one device 100 within the larger contextof a manufacturing control system. Further, each module 105-109 mayinclude its own dedicated processor (not shown in FIG. 1) forcontrolling aspects of the functions of the individual module. In otherembodiments, the modular device 100 may include its own local controllerwith several nested controllers embedded within dependent modules. Instill further embodiments, each module 105-109 may be controlled by asingle local processor embedded within one of the modules 105-109. Forthe purposes of this disclosure, the example embodiment having one localprocessor for controlling the aspects of each of the five modules105-109 is discussed. Other embodiments may be the subject of relateddisclosures focused on nested controllers and the like.

Thus, in this embodiment, there are five modules 105-109 thatcollectively form a self-contained modular manufacturing device 100 thatis a fastener delivery and actuating tool 100. This will be the exampleembodiment that is discussed throughout the remainder of thisdisclosure, but the skilled artisan understands that there can manyseveral other examples of self-contained modular manufacturing device100. The five modules 105-109 of the modular device 100 include anx-y-axis motion-actuator assembly 105 (hidden from view in FIG. 1—seeFIG. 2 for greater detail), a motor-spindle assembly 106, anend-effector assembly 107 (as shown in FIG. 1, a fastener torqueassembly), a y-axis carriage assembly 108, and a fastener-deliveryassembly 109. Collectively, these five modules 105-109 may be controlledby one or more self-contained processors (not shown in FIG. 1) embeddedin one or more of the five modules.

The self-contained processor may include programming with executableroutines and sub-routines for controlling each of the modules 105-109.For example, a first sub-routine may be programmed for maneuvering themodular device along an x-axis rail (by controlling the x-y-axismotion-actuator assembly 105, and along a y-axis rail (by controllingthe x-y-axis motion-actuator assembly 105 and the y-axis carriageassembly 108). A second subroutine may be programmed for selecting anddelivering a specific fastener using the fastener-delivery assembly 109.A third subroutine may be programmed to control the motor-spindleassembly 106 to apply the appropriate drive force to the end-effectorassembly 107. Lastly, a fourth subroutine may be programmed to controlthe end-effector assembly 107 to apply the appropriate torque to thefastener that has been selected. Additional subroutine may also assistwith the overall control of the self-contained modular manufacturingdevice 100.

The self-contained modular manufacturing device 100 may also communicatewith a master control system as well. In this sense, the self-containedmodular manufacturing device 100 may hand off control to a mastercontrol system until appropriate times and then be handed local controlat the self-contained modular manufacturing device 100 so that thespecific functionality of the device 100 can be accomplished, Such aback and forth nature is often called a control handshake wherein amaster control system need not be aware of what the self-containedmodular manufacturing device 100 is doing—rather the master controlsystem need only be aware that the self-contained modular manufacturingdevice 100 is doing its thing.

Such communication may be realized through an umbilical cord 110 havinga communication link, such as RS-232 or standard Ethernet. Further, theumbilical cord 110 may also have cabling for power to the variousmodules 105-109 of the self-contained modular manufacturing device 100.In another embodiment, communication between the self-contained modularmanufacturing device 100 and a master control system may be realizedthrough wireless communications using common wireless communicationprotocols such as IEEE 802.11 and the like. Further, such a wirelessembodiment may also include self-contained battery power such that anyneed for an umbilical cord 110 is eliminated. Additional details abouteach module 105-109 in the self-contained modular manufacturing device100 are presented next with respect to FIG. 2.

FIG. 2 shows an exploded diagram of the isometric view of FIG. 1 showingthe set of modular tools that form the self-contained modularmanufacturing device 100 of FIG. 1 according to an embodiment of thesubject matter disclosed herein. This exploded view also shows each ofthe five modules 105-109 from the example embodiment discussed above. Asmentioned before, these modules include an x-y-axis motion-actuatorassembly 105, a motor-spindle assembly 106, an end-effector assembly107, a y-axis carriage assembly 108, and a fastener-delivery assembly109. Collectively, these five modules 105-109 may be controlled by aself-contained local controller 200 embedded in the end-effectorassembly 107. Thus, the local controller 200 may be a processorprogrammed to include routines and subroutines (which may be stored in alocal memory not shown in FIG. 2) for controlling each of the modularsections of the self-contained modular manufacturing device 100.

The modular device may include an x-y-z drive system that may includeone or more drive assemblies for actuating an end effector to anx-direction, a y-direction and a z-direction. For example, the modulardevice 100 may include an x-y-axis motion-actuator assembly 105, (forexample, a screw-type drive assembly) that translates the end-effector107 relative to a mount (such as a robot arm) in an x-direction and in ay-direction. Further, the modular device 100 may include a y-axiscarriage assembly 108, (again for example, a screw-type drive assembly)that carries the end-effector 107 relative to the mount in they-direction. Further yet, the modular device 100 may include a z-axismotion-actuator assembly (not shown in FIG. 2) that translates theend-effector 107 relative to the mount in a z-direction. Alternatively,one or more drive assemblies may translate the end-effector 107 in onlyone or two dimensions. Additionally, sensors (not shown in detail)coupled to the local controller 200 may provide feedback signals to thelocal controller 200 so that the local controller 200 can controlvarious items via a closed loop control path. For example, a sensor maysense the x position of the x-y-z drive assembly such that the localcontroller 200 can stop movement of the drive in the x direction whenthe x-y-axis actuator assembly 105 attains the desired x-position.

The drive assemblies may be controlled by the local controller 200 toposition the end-effector 107 in a position to accomplish its underlyingfunction; in this case, the underlying function is to fasten one pieceof metal to another piece of metal using a selected fastener. Thus, thelocal controller 200 may execute a sub-routine for positioning theend-effector 107 at a precise location with respect to the first andsecond pieces of metal. Further, the various drive assemblies that arepart of the modular device 100 may be used for granular positioningwhile the local controller 200 may be in communication with a roboticarm to which the modular device 100 is mounted in order to controlbroader movement. For example, the local controller 200 may send signalsto a robotic arm to move the modular device 100 to a general location,but then use the drive assemblies such as modules 105 and 108) withinthe modular device 100 to move the end effector to a precise location.

The end-effector 107 may further include a tool selection assembly suchas a turret module 210 that is configured to position different tools orend-effectors that may be attached to the turret module 210 into aworking position or other position. In other embodiments, the toolselection assembly may be a linear selection device. Further yet, thetool selection assembly may be a combination of different tool selectiondevices. Examples of end-effectors that can be attached to the turretmodule 210 include a drill assembly, a camera assembly (to image, e.g.,a drilled hole for analysis), a hole-depth determiner, acounter-sink-depth determiner, a fastener inserter, and a fastenerinstaller. The turret module 210 may include a motor that rotates theturret to position a selected one of the tools in a work or otherposition, such as positioning the drill to drill a hole.

The modular device 100 of FIG. 2 includes a fastener-delivery assembly109 that may include a fastener-orientation mechanism that can properlyorient and load fasteners for use at the end-effector 107. Thefastener-load mechanism may receive from the master-controller 200information identifying the size of the fastener to be delivered, or themechanism may effectively be able to determine the size without inputfrom the local controller 200. Moreover, the tools on the turret module210 may themselves be modular and self-contained with a controller. Forexample, one may be able to replace the drill, which includes a spindlemotor assembly 106 and local motor controller (not shown), independentlyof the other tools in the overall modular device 100. The modular device100 of FIG. 2 includes a human-machine interface 215 configured toprovide a graphic user interface for local programmatic control of thedevice independent of the master control system.

In general, the end-effector assembly 107 includes a local controller200 that, e.g., handles communications to/from the master control systemand that controls one or more next-level sub-controllers within themodular device 100. For example, the local controller 200 may executesoftware that translates commands from the master control system intocontrol signals or commands to sub-controllers in the end effector,assembly 107 or other assemblies in the modular device 100 and thattranslates commands from the various sub-controllers to the mastercontrol system. Such simple commands from the local controller 200 maysimply be to begin the modular device function such that control isrelinquished to the local controller 200 for accomplishing saidfunction. Then, after said function is complete, the local controller200 may communicate to the master control system that said function iscomplete and that control is relinquished back to the master controlsystem.

There are several advantages realized in a self-contained modular systemof FIGS. 1 and 2. First, the master control system, which is often aPLC, may have programming instructions that can be shortened andsimplified as various commands to and from a coupled modular device 100need only be minimal. Further, such PLC instructions at the mastercontrol system level need to be modified (or tested, debugged, andreinstalled) at all when software/firmware on board the modular device100 is modified.

Second, the PLC of the master control system can send commands to themodular device 100 instead of analog or digital signals. This allows theconnector 110 (e.g., “umbilical cord”) between the PLC and the modulardevice to be reduced to incorporating an Ethernet connection (e.g., CAT6) and a power connection. By reducing the number of individualconnections, the connector is smaller, less complex, and more reliable.Additionally, the modular device 100 may run from 110 VAC instead of aspecialized supply voltage like 408 VDC.

Third, the modular device 100 may store its own calibration data and maycalibrate itself independently of the PLC of the master control system.This relieves the PLC memory of the burden of storing a calibration LUTfor each possible modular device 100 in the system, and also eliminatesthe need to update such various LUTs when a modular device 100 isswitched out. That is, swapping out an end-effector assembly 107 is nowtransparent to the PLC of the master control system because it requiresno updates to the PLC software or stored calibration/configuration data.

Third, because the modular device 100 is designed as a modular unit,repairing the end-effector assembly 107 or other assembly in the modulardevice 100 entails shipping only the defective module back to theequipment supplier. This means that to avoid down time, the entity usingthe modular device system may need to keep only spare modules, notentire spare robots on hand to swap out with a broken or defectiveassembly or module. Furthermore, tests (e.g., a test after repair orafter a software update) can be performed on the end-effector assembly107 independently of the remainder of the robot system. Therefore, thetester need not have an entire master robot system or a robot-systememulator.

FIG. 3 shows an isometric view of an overall robotic control system 300set in a manufacturing environment that includes the self-containedmodular manufacturing device 100 of FIG. 1 according to an embodiment ofthe subject matter disclosed herein. The system 300 includes a mastercontrol system 301 that may be a PLC or other programmable processorthat is configured to control various robotic and automated subsystemswithin the overall robotic control system 300. In FIG. 3, only onesubsystem 302 is shown for simplicity, but a skilled artisan understandsthat the system 300 may include multiple subsystems.

The subsystem 302 shown in FIG. 3 shows a robotic stanchion 320 that hasa robotic arm 310 mounted in a movable manner to the robotic stanchion320. Thus, under control of the master control system 301, the roboticarm may be maneuvered in several directions and degrees of freedom toplace a mounted modular manufacturing device 100 into a position near anunderlying manufactured item, such as the ribbed structure 330 shown inFIG. 3. In an embodiment, the self-contained modular manufacturingdevice 100 may take control of the robotic arm 310 if control isrelinquished by the master control system 301. Such a control handshakeis described above and not repeated in detail here.

FIG. 4 shows a block diagram of the system 300 of FIG. 3 set in amanufacturing environment that includes the self-contained modularmanufacturing device 100 of FIG. 1 according to an embodiment of thesubject matter disclosed herein. In this block diagram, theself-contained modular manufacturing device 100 includes the localcontroller 200 described above for controlling actions and functions ofthe self-contained modular manufacturing device 100 and, at times, therobotic arm 310. The local controller includes a processor 407configured to execute instructions that may be stored in a local memory408. The memory 408 is coupled to the processor via a communication anddata bus 406. The bus 406 is also coupled to one or more interfaces 405for one or more end-effectors. In other embodiments, the interface 405may be for coupling additional modular devices (not shown) or otherdevices in a nested controller manner.

The modular device controller 200 also includes an input/outputinterface 410 suitable for handling communication signals to and fromother related manufacturing devices and controllers in the system 300.In this embodiment, the I/O interface 410 is communicatively coupled toa communication interface 420 housed within the robotic arm 310. Inother embodiments, the communication interface 420 may be within astanchion 320 of the robotic arm as shown in FIG. 3 or may be in directcommunication with the master control system 301. The communicationprotocol for these devices may be standard Ethernet using TCP/IPprotocol. Other embodiments may be a proprietary communication protocol,such as a proprietary “Smart Tool Protocol” (STP), using TCP/IP Ethernetor other standard serial or parallel interfaces (e.g., RS-232 or thelike).

The communication interface 420 associated with the robotic arm may becoupled to one or more robotic actuators configured to move the roboticarm 310 in one or more direction or orientations (such as pivoting orrotating). The master control system 301, in turn, may include a mastercontroller 460 that includes an I/O interface 461, a processor 462 and amemory 463 for accomplishing master control tasks and functions. Variousmethods may be realized using the system 300 of FIG. 3 which isexemplified in the block diagram of FIG. 4; an embodiment of one methodis described next with respect to FIG. 5.

The local controller 200 of FIG. 4 may be configured to use historicaldata stored in the local memory 408 when controlling various functionsof the modular device 100. Historical data may be any informationrelated to a past performance of one or more functions of theend-effector 107 or any other module associated with the modular device100. Generally, after the modular device 100 performs a function, dataabout the performance may be stored in a database of historicalperformance information in the memory 408. Such historical performancedata may include performance data about one or more end-effectors in themodular device. The historical data may correspond to the total numberof functions performed by an end-effector 107. This may be useful insetting various parameters of the functionality of the end-effector 107.For example, an end-effector 107 that drills a hole has a drill bit thatmay become more and more worn after each use. By keeping track of thenumber of uses, the force behind the drill bit may be increasedaccording to a wear function corresponding to the type of bit. In thismanner, as the drill bit become more worn over time, a z-axis actuatormay compensate for the reduced drilling capability by providing agreater thrust. A related historical data point may include total usessince last maintenance, last calibration or last parts replacement.

In another embodiment, the parameter measured and stored over severalperformances may be the total function time necessary to accomplish thetask. Thus, continuing the example of a drill bit, the total time neededto drill through an underlying manufactured item may be tracked to seeif there exists any trends or variances. A large variance in functiontime may be indicative of a failure in the end-effector 107 or a flawwith the underlying manufactured item. Related to average function timebeing tracked is average force needed by an actuator in terms of Newtonsor average current drawn by an electro-mechanical device. Again, anydeviance (e.g., one or two standard deviations) from an average may beindicative of a problem. Such averages may also be weighted by timesince last calibration or maintenance or take advantage of a movingaverage that discounts data that is older. In this respect, collecteddata may be appended to already collected data in the memory 408.Further, duplicate data may be ignored or older data may be culled fromthe data stored in the memory 408.

In still other embodiments, historical data being tracked may correspondto parameters and aspects of the underlying manufactured item. Thus,each underlying manufactured item may have tracking and identificationdata associated therewith. When the end-effector 107 performs a functionon the already tracked underlying manufactured item, the very fact thatthis end-effector 107 performed its function on this particular item maybe stored as historical data in the memory 408 of the modular device100. Thus, each modular device 100 can maintain a history of exactlywhich items it helped manufacture. In this respect, during qualitychecks and the like, specific batches of items that are defective may betraced back to a specific end-effector 107 or modular device 100. In arelated manner, each modular device 100 may save data corresponding tospecific location on an underlying manufactured item in which a functionwas accomplished. Thus, a mapping of an airplane fuselages joints may bestored by the very machine that riveted the joints together.

Collectively, any single historical data point that is stored in thememory 408 of the modular device 100 may be used to affect thefunctionality of the modular device 100 the next time the modular device100 performs the function. That is, the local controller 200 disposed ineach modular device 100 or end-effector 107 is configured to control thefunctionality of the end-effector 107 in response to the storedhistorical data in the local memory 408.

FIG. 5 shows a flow diagram of a method for using the self-containedmodular manufacturing device 100 of FIG. 1 according to an embodiment ofthe subject matter disclosed herein. The method described with respectto the flow diagram of FIG. 5 is for an underlying manufacturingfunction for drilling and fastening together two pieces of metal thatare being held by tooling. The order and number of steps, and the stepsthemselves, may be different in other embodiments.

The method begins at step 500 and proceeds to a first step 501 whereinan underlying manufactured item may be ready to have a functionperformed on the item by the modular device 100. Thus, the underlyingmanufactured item may have been moved into a ready position, or therobotic arm system hosting the modular device 100 may be moved to ageneral area near the underlying manufactured item. Once on the readyposition, the master controller 460 may indicate to the modular device100 that the modular device is in the ready position at step 503. Atstep 505, the local controller 200 assumes local control of the modulardevice 100. Such local control may include control over the robotic armin which the modular device 100 is attached.

In this embodiment of the method, the local controller 200, at step 507,may then access the local memory 408 to retrieve one or more historicaldata points about previous functions accomplished by the this modulardevice 100. As discussed above, the historical data may be calibrationinformation about the last function performed. Thus, in response to thehistorical calibration information retrieved, the local controller 200,at step 509, may then maneuver a modular device to a calibrated (second)position with respect to an underlying manufactured item so as toaccomplish the function more accurately or efficiently. In otherembodiments, the historical data may be usage information about theprevious functions performed. Thus, in response to the historical usageinformation retrieved, the local controller 200 may then maneuver amodular device to a compensated (second) position with respect to anunderlying manufactured item so as to accomplish the function moreaccurately or efficiently after taking into account wear on the device100 or end-effector 107. Other embodiments are contemplated but notrepeated or discussed in detail here.

Next, at step 511, the local controller accomplishes the manufacturingfunction after the positioning or calibrating that was responsive toretrieved historical data. Once the function has been accomplished, anindication of the completed function may be sent from the localcontroller to the master controller 460 at step 513. At step 515, thelocal controller passes control of the self-contained modularmanufacturing device 100 back to the master controller 460. Once allfunctions have been accomplished, the method ends at step 520.Additional steps may be added in other embodiments, such as additionalcontrol handshakes with nested controllers as well as multiple functionsat the same position, such as drilling and measuring a hole. Further,the steps of this method need not be performed in exactly the orderdepicted in FIG. 5 and some steps may be omitted. The above example isjust one illustrative example out of many illustrative examples.

As but one example of additional steps in the method of FIG. 5, afteraccomplishing the function, the historical data in the memory may beupdated or appended with new information corresponding to the functionjust accomplished. This may be step 512 between steps 511 and 513. Asanother example, the local controller 200 may also communicate some orall of the historical data from the local memory 408 to a master controlsystem remote from the modular device. This may be step 514 betweensteps 513 and 513. Generally speaking and by way of non-limitingexample, the historical data may be a depth of a hole, a diameter of acircular hole, a dimension of a hole, a measurement from an edge of amember, a location of a joint between members, a temperature of an areaof an underlying manufactured item, a distance between members, adistance between a member and the end-effector, or a material strengthcharacteristic of an underlying manufactured item. Many other examplesare contemplated but not discussed herein for brevity.

While the subject matter discussed herein is susceptible to variousmodifications and alternative constructions, certain illustratedembodiments thereof are shown in the drawings and have been describedabove in detail. It should be understood, however, that there is nointention to limit the claims to the specific forms disclosed, but onthe contrary, the intention is to cover all modifications, alternativeconstructions, and equivalents falling within the spirit and scope ofthe claims.

What is claimed is:
 1. A method, comprising: maneuvering a self-contained modular manufacturing device to a first position with respect to an underlying manufactured item, the maneuvering controlled by a master controller remote from the self-contained modular manufacturing device; indicating to the self-contained modular manufacturing device that the self-contained modular manufacturing device is in the first position; assuming control of the self-contained modular manufacturing device with a local controller disposed in the self-contained modular manufacturing device; retrieving historical data about previous manufacturing functions accomplished by the self-contained modular manufacturing device from a memory disposed in the self-contained modular manufacturing device; maneuvering a self-contained modular manufacturing device to a second position with respect to an underlying manufactured item in response to the historical data retrieved; accomplishing the manufacturing function, the accomplishing controlled by the local controller; indicating to the master controller that the self-contained modular manufacturing device has accomplished the manufacturing function; passing control of the self-contained modular manufacturing device back to the master control system; and maneuvering the self-contained modular manufacturing device away from the position, the maneuvering controlled by the master controller; wherein the historical data comprises data from the group comprised of: a depth of a hole, a diameter of a circular hole; a dimension of a hole; a measurement from an edge of a member; a location of a joint between members; a temperature of an area of an underlying manufactured item; a distance between members; a distance between a member and the end-effector; and a material strength characteristic of an underlying manufactured item.
 2. The method of claim 1, further comprising appending the historical data in the memory in response to accomplishing the function.
 3. The method of claim 1, further comprising communicating the historical data to a remote master control system.
 4. The method of claim 1, further comprising altering the historical data corresponding to at least one previously calibrated position of the end-effector with respect to an underlying manufactured item in response to accomplishing the function.
 5. The method of claim 1, further comprising updating an accumulated usage of the end-effector in terms of previous functions accomplished.
 6. The method of claim 1, further comprising updating at least one measurement of time needed to accomplish the function during a previous functional use.
 7. The method of claim 1, further comprising enabling the local controller to manipulate the actuator.
 8. The method of claim 1, further comprising appending the historical data after accomplishing a set of manufacturing functions.
 9. The method of claim 1, further comprising culling the historical data of duplicate data in response to accomplishing the manufacturing function.
 10. The method of claim 1, further comprising adjusting the accomplishing of the manufacturing function in response to the retrieved historical data. 